草庐IT

【Example】C++ 标准库 std::atomic 及 std::memory_order

全部标签

ruby - 如何让 ruby​​-prof 忽略 Ruby 核心/标准库/gem 方法?

我是Ruby分析的新手,看起来像ruby-prof是一个受欢迎的选择。我刚刚安装了gem并调用了我的程序:ruby-prof./my-prog.rb但是,输出非常冗长,因为包含所有Ruby核心和标准库方法以及其他gem的分析数据。例如,前三行是:8.790.0110.0100.0000.0013343*String#%7.280.0780.0090.0000.0692068*Array#each4.930.0380.0060.0000.0321098*Array#map这对我来说不是什么有用的信息,因为我已经知道我的程序经常处理字符串和数组,并且大概已经对这些类进行了优化。我只关心我代

ruby-on-rails - 在 Rails/Capybara/Poltergeist 规范中使用 url_for 将驱动程序发送到 example.com 而不是应用程序

如果我在功能规范中调用url_for,它会返回一个以http://www.example.com/开头的绝对URL.Capybara会很乐意尝试加载该站点上的页面,但这与我的应用程序无关。以下是重现该问题的最少步骤:从这个Gemfile开始:source'https://rubygems.org'gem"sqlite3"gem"jquery-rails"gem"draper"gem"rails",'4.1.0'gem"therubyracer"gem"uglifier"gem"rspec-rails"gem"capybara"gem"poltergeist"gem"launchy"运行

ruby - 什么标准证明在 Ruby 中使用模块而不是类?

我正在阅读我的ruby书。查看下面的代码,moduleDestroydefdestroy(anyObject)@anyObject=anyObjectputs"Iwilldestroytheobject:#{anyObject}"endendclassUserincludeDestroyattr_accessor:name,:emaildefinitialize(name,email)@name=name@email=emailendendmy_info=User.new("Bob","Bob@example.com")puts"Soyournameis:#{my_info.name}

ruby-on-rails - rails mongoid 清晰的标准

Mongoid::Paranoia向生成标准的模型添加默认范围#{"$exists"=>false}},options:{},class:Line,embedded:false>我可以使用生成的Model.deleted找到已删除的文档,#{"$exists"=>true}},options:{},class:Line,embedded:false>我如何覆盖它以便我可以搜索已删除和未删除的文档。PSModel.unscoped不起作用 最佳答案 试试这个(它是一种hack):classUserincludeMongoid::Doc

ruby-on-rails - 如何使 ActiveRecord::Schema.define 不登录到标准输出?

我在文档中看不到这个,但我认为这是一个已解决的问题。我在Rails之外使用ActiveRecord,我的脚本加载了从另一个应用程序转储的schema.rb。我想加载此模式而不将迁移输出转储到标准输出,但替换ActiveRecord::Base.logger不会关闭它。我应该覆盖什么来阻止噪音? 最佳答案 技巧显然在ActiveRecord::Migration中:ActiveRecord::Migration.verbose=false这使得迁移不会将信息输出到$stdout。有一个名为.suppress_messages的便捷包装

ruby - 如何修改矩阵(Ruby std-lib Matrix 类)?

我理解RubystdlibMatrix是不可修改的,也就是说,例如。m=Matrix.zero(3,4)不会写m[0,1]=7但我非常想做...我可以用笨拙的编程来做,比如defmodify_value_in_a_matrix(matrix,row,col,newval)ary=(0...m.row_size).map{|i|m.rowi}.map(&:to_a)ary[row][col]=newvalMatrix[*ary]end...或者作弊,比如Matrix.send:[]=,0,1,7但我想知道,这一定是人们一直遇到的问题。有没有一些标准的、习惯的方法可以做到这一点,而不必使用

ruby - 复制.blank?在标准的 Ruby 中

Rails有一个.blank?如果对象为空,将返回true的方法?还是零?可以找到实际代码here.当我尝试在1.9.2上复制它时:classObjectdefblank?respond_to?(:empty?)?empty?:!selfendend调用“.blank”?返回true但调用"".blank?根据railsdocumentation返回false对于.blank,空白字符串应该eval为true?在查看我最初编写的代码之前:classObjectdefblank?!!self.empty?||!!self.nil?endend结果相同。我错过了什么?

ruby - 如何仅使用标准套接字库在 Ruby 中实现 ICMP ping?

应该可以使用Ruby套接字库发送和接收ICMP数据包,但我没有看到任何关于此的好文档。我不想使用net-ping、icmp、ping和所有这些其他库,它们要么因跨平台问题而失败,需要devkit和自定义构建,它们在构建过程中失败,被忽略并且有很长一段时间没有更新,和/或只是一般的错误。有没有人有关于如何完成这个的任何好的文档?我想发送ICMP回显回复,而不是TCP或UDP数据包。 最佳答案 阅读DanielBerger关于他的Net-ping项目的代码,我能够看到他是如何做到的。http://rubygems.org/gems/ne

ruby - 在 Atom 中运行 Ruby 程序

我安装了Atom和脚本包,写了一个Ruby测试程序,保存为hello.rb,按下ctrl+shift+b执行,得到错误信息'ruby'不是内部或外部命令,也不是可运行的程序或批处理文件。我以为脚本包包含Ruby和其他多种语法。在运行程序之前我还需要做些什么吗? 最佳答案 我没有从Atom运行我的代码,但我认为您的问题的一个可能原因是您的机器上没有安装Ruby本身。Mac出厂时安装了Ruby,但Windows机器通常没有。查看http://rubyinstaller.org/.它是一个用于在Windows环境中安装Ruby的简单工具。

ruby - digest/hmac 是 ruby​​ 标准库的一部分

我正在处理一些具有以下内容的代码:beginrequire'digest/hmac'USE_EMBEDDED_HMAC=falserescueputs"HMAC,notfoundinstandardlib."+$!.messagerequire'hmac-sha1'USE_EMBEDDED_HMAC=trueend如我所见,至少在rails1.8.6中它不是标准库的一部分。它是ruby​​1.9lib的一部分吗?如果没有,我应该安装任何gem吗?请注意,使用OpenSSL的解决方案不会被接受,因为它无论如何都会在“要求‘摘要/hmac’”中失败有问题的代码在这里http://githu